<?php
/**
 * <b>RUBIK IT Solution & Development ltd.</b>
 *
 * PROJECT		: Rubik Ultimate Framework
 * @version 	: 1.1
 * COPYRIGHT    : 2008
 * ------------------------------------------------------
 * Tại initSystem sẽ thực hiện các công việc:
 * 	a.	loadConfig(): load các configuration của site.
 * 	b.	Khởi tạo các constant cơ bản của hệ thống:
 * 		i.	SYS_APP_PATH: đường dẫn trỏ đến thư mục chứa các applications.
 * 			VD: D:\www\site_using_framework\applications\
 * 		ii.	SYS_TMPL_PATH: đường dẫn đến thư mục chứa template.
 * 			VD: D:\www\site_using_framework\templates\
 * 		iii.	SYS_TMPL_URL: url dẫn đến folder chứa các templates.
 * 			VD: http://yourdomain.com/site_using_framework/templates/
 * 		iv.	SYS_CUR_TMPL_PATH: đường dẫn trỏ đến folder chứa template hiện tại.
 * 			Lưu ý sẽ check nếu path này có tồn tại hay không?
 * 			Nếu không thì SYS_CUR_TMPL_PATH sẽ là path tro den system tempalate.
 * 				VD: D:\www\site_using_framework\templates\sanhdieu_index
 * 		v.	SYS_CUR_TMPL_URL: url trỏ đến folder chứa template hiện tại. 
 * 			Lưu ý sẽ check nếu path này có tồn tại hay không? 
 * 			Nếu không thì SYS_CUR_TMPL_URL sẽ là url tro den system tempalate.
 * 				VD: http://yourdomain.com/site_using_framework/templates/sanhdieu_index/
 * 		vi.	SYS_MOD_PATH: đường dẫn trỏ đến folder chứa các module.
 * 				VD: D:\www\site_using_framework\modules\
 * 		vii.SYS_MOD_URL: url trỏ đến folder chứa các module.
 * 				VD: http://yourdomain.com/site_using_framework/modules/
 * 
 * ------------------------------------------------------
 *   
 * Created on	:  Jun 15, 2008
 * 
 */

// no direct access
defined ( '_FW_EXEC' ) or die ( 'Restricted access' );

/**
 * 	b.	Khởi tạo các constant cơ bản của hệ thống:
 * 		i.	SYS_APP_PATH: đường dẫn trỏ đến thư mục chứa các applications.
 * 			VD: D:\www\site_using_framework\applications\
 */
define ( 'SYS_APP_PATH', SYS_ROOT_PATH . "applications" . DS );

/**
 * 		i.	SYS_APP_PATH: đường dẫn trỏ đến thư mục chứa các applications.
 * 			VD: D:\www\site_using_framework\applications\
 */
define ( 'SYS_APP_URL', SYS_ROOT_URL . "applications/" );

/**
 * 		ii.	SYS_TMPL_PATH: đường dẫn đến thư mục chứa template.
 * 			VD: D:\www\site_using_framework\templates\
 */
if (SYS_WORK_ZONE == 'back') {
	define ( 'SYS_TMPL_PATH', SYS_ADMIN_PATH . "templates" . DS );
} else {
	define ( 'SYS_TMPL_PATH', SYS_ROOT_PATH . "templates" . DS );
}

/**
 * loadConfig(): load các configuration của site.
 */
///////////////////////////////////////////////////////////////////////////////////////////////
/**
 *  c.	Khởi tạo các static class của hệ thống:
 * 		i.	SystemSite: class chứa các xử lý chung nhất cho site!
 * 		ii.	SysDatabase: class chứa các xử lý trên database và giữ thông tin database chính của hệ thống.
 * 		iii.	SysTemplate: class chứa các thông tin và xử lý cho template hiện tại.
 * 		iv.	SysRequest: class chứa các thông tin tin và xử lý cho một request.
 * 		v.	SysRespond: class chứa các thông tin tin và xử lý cho respond.
 * 		vi.	SysLanguage: class chứa các thông tin và xử lý cho language.
 * 		vii.	SysCache: class chứa các thông tin và xử lý cho cache.
 */
// SysResponse, SystemSite has been imported.
RCoreImporter::cls( "sysObjects.SysResponse" );
RCoreImporter::cls( "sysObjects.SysRequest" );
RCoreImporter::cls( "sysObjects.SystemSite" );
RCoreImporter::cls( "sysObjects.SysDatabase" );
RCoreImporter::cls( "sysObjects.SysRequest" );
RCoreImporter::cls( "sysObjects.SysCache" );
RCoreImporter::cls( "sysObjects.SysLanguage" );
RCoreImporter::cls( "sysObjects.SysTemplate" );

/**
 *   	iii.	SYS_TMPL_URL: url dẫn đến folder chứa các templates.
 * 			VD: http://yourdomain.com/site_using_framework/templates/
 */
if (SYS_WORK_ZONE == 'back') {
	define ( 'SYS_TMPL_URL', SYS_ADMIN_URL . "templates/" );
} else {
	define ( 'SYS_TMPL_URL', SYS_ROOT_URL . "templates/" );
}

/**
 * 		With version 1.1 --> this will be move into the appliaction. 
 * 		After trigger before start application
 * 
 *  		iv.	SYS_CUR_TMPL_PATH: đường dẫn trỏ đến folder chứa template hiện tại.
 * 			Lưu ý sẽ check nếu path này có tồn tại hay không?
 * 			Nếu không thì SYS_CUR_TMPL_PATH sẽ là path tro den system tempalate.
 * 				VD: D:\www\site_using_framework\templates\sanhdieu_index\
 *  		v.	SYS_CUR_TMPL_URL: url trỏ đến folder chứa template hiện tại. 
 * 			Lưu ý sẽ check nếu path này có tồn tại hay không? 
 * 			Nếu không thì SYS_CUR_TMPL_URL sẽ là url tro den system tempalate.
 * 				VD: http://yourdomain.com/site_using_framework/templates/sanhdieu_index/
 */
//if (SysRequest::isMobile () && SysTemplate::isExistMobileTpl ()) {
//	define ( 'SYS_CUR_TMPL_PATH', SYS_TMPL_PATH . "mobile" . DS . SysTemplate::getTemplate () . DS );
//	define ( 'SYS_CUR_TMPL_URL', SYS_TMPL_URL . "mobile/" . SysTemplate::getTemplate () . "/" );
//} else {
//	define ( 'SYS_CUR_TMPL_PATH', SYS_TMPL_PATH . SysTemplate::getTemplate () . DS );
//	define ( 'SYS_CUR_TMPL_URL', SYS_TMPL_URL . SystemSite::getTemplate () . "/" );
//}

/**
 *  		vi.	SYS_MOD_PATH: đường dẫn trỏ đến folder chứa các module.
 * 				VD: D:\www\site_using_framework\modules\
 *  		vii.SYS_MOD_URL: url trỏ đến folder chứa các module.
 * 				VD: http://yourdomain.com/site_using_framework/modules/
 */
if (SystemSite::isBackEnd ()) {
	define ( 'SYS_MOD_PATH', SYS_ADMIN_PATH . "modules" . DS );
	define ( 'SYS_MOD_URL', SYS_ADMIN_URL . "modules/" );
} else {
	define ( 'SYS_MOD_PATH', SYS_ROOT_PATH . "modules" . DS );
	define ( 'SYS_MOD_URL', SYS_ROOT_URL . "modules/" );
}


if (SystemSite::isBackEnd ()) {
	RCoreImporter::cls( "sysObjects.SysAdminHeader" );
}
?>